Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Latest commit

 

History

History
37 lines (28 loc) · 816 Bytes

12.4.2 - TCP客户端异步连接.md

File metadata and controls

37 lines (28 loc) · 816 Bytes

TCP客户端异步连接

通过使用on方法注册异步回调函数。多个swoole_client可以嵌套回调。异步模式仅可用于cli模式,如在swoole_process或swoole_server中。

示例:

<?php
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); //异步非阻塞

$client->on("connect", function($cli) {
    echo "connected\n";
    $cli->send("hello world\n");
});

$client->on("receive", function($cli, $data) {
    if(empty($data)){
        $cli->close();
        echo "closed\n";
    } else {
        echo "received: $data\n";
        sleep(1);
        $cli->send("hello\n");
    }
});

$client->on("error", function($cli){
    exit("error\n");
});

$client->on("close", function($cli){
    echo "connection is closed\n";
});

$client->connect('127.0.0.1', 9501, 0.5);